草庐IT

mysql GRANT + WHERE

全部标签

php - Codeigniter 在 SQL 查询中使用 LIKE 和 WHERE

在codeigniter中,我有一个这样的查询:$this->db->select('*',false);$this->db->from('videoasv');$this->db->where('v.start_datedb->like('v.title',$keywords);$this->db->or_like('v.title_tw',$keywords);$this->db->or_like('v.title_cn',$keywords);$query=$this->db->get();return$query->result_array();在我的期望中:start_dat

mysql - 如何按 ID 序列使用 where 子句

我有一个由逗号合并的ids序列:$ids='1,2,3,4,5,6,7,8,9,10';select*fromadsWHEREid=$ids...现在如何通过这些ids获取ads表的内容? 最佳答案 您正在使用PHP。您可以像这样构建SQL:$ids='1,2,3,4,5,6,7,8,9,10';$sql='SELECT*FROMadsWHEREidIN('.$ids.')';//executethequery(don'tusemysql_*function;))从MySQL5.6开始,您也可以使用FIND_IN_SET():$id

php - INSERT INTO WHERE NOT IN or NOT EXIST where table origin 有重复项

我在尝试插入不想重复的记录时遇到问题。这个问题与我在谷歌中找到的任何解决方案都不同,所以这里是:我有TABLE1和TABLE2,我想将记录从TABLE1插入到TABLE2,所以我使用这个查询:INSERTINTOtable1SELECT*FROMtable2WHEREtable2.importIdNOTIN(SELECTimportIdFROMtable1);这仅在TABLE2保证不包含重复的importId时有效。因此,如果TABLE2具有重复的importId,并且我想插入到不包含来自TABLE2的importId的TABLE1中。上面的脚本将持续插入记录,从而在TABLE1中创建

php - 为 WHERE 条件选择相等数量的记录

我有一个数据库,里面有超过一百万条记录。对于3种不同的条件,我想从数据库中获取相同数量的记录。我目前正在使用执行3个MySQL查询的代码。我想知道是否有可能使用一个SELECT查询获得相同的结果?以下代码为每个site=X条件选择相等数量的20条记录。 最佳答案 您可以使用UNIONALL合并多个Select查询的结果。我们需要确保在所有Select查询中返回的列数相同。(SELECT*FROMnewsWHEREsite='1'ORDERBYidDESCLIMIT0,20)UNIONALL(SELECT*FROMnewsWHEREs

mysql - WHERE 子句的虚假结果的解释

MySQL8。由于缺少表名规范,我看到查询中返回了一个虚假行。我知道如何修复它,我想了解它发生的原因。请看下面的fiddle:http://sqlfiddle.com/#!9/beb1ed/1/0目的是找到计划表中也存在于计划表中的任何行,与SubscriptionID和日期相匹配。返回的结果是:RealWorldVisitDateCustomerIDSubscriptionID2019-01-1400:00:005132019-01-1400:00:001723但是WHERE子句应将结果限制为仅第一行(CustomerID5/SubscriptionID13)。我知道解决此问题并返回

mysql - "SELECT * FROM view_table WHERE cause"=> 但结果总是重新排序

在SELECT*FROMview_table中,结果总是-----------------------||id||author||-----------------------||1||a||但是当SELECT*FROMview_tableWHEREid=1结果是-----------------------||id||author||-----------------------||1||a||||1||b||||1||c||或者-----------------------||id||author||-----------------------||1||b||||1||c||||

MySQL 在没有 WHERE 的情况下删除后自动增加值

跑完后发现DELETEFROMtablename我的ID(自动递增)值变得很奇怪7,8,9,0,1,12,3,4,15当我做a时按这个顺序,SELECT*FROMtablename我知道认证指南说用DELETEwithoutWHERE清空表时ID可能会重置也可能不会重置,但是是什么导致ID序列如此奇怪?我很确定这是插入行的顺序。最初在删除之前,我在表中有6行,所以7、8、9似乎是可以理解的。 最佳答案 如果没有orderby子句,数据库中绝对没有顺序或顺序保证。这与记录的存储方式有关——它们不按任何顺序存储。数据库通常会根据聚簇索引

php - 如何在 PHP 中使用 mySQL WHERE 子句?

似乎无法从securityinfo字段传递任何内容。for($k=1;$k$securityname[$sym]";}基本上,我想搜索在symbol字段中有匹配项的行,然后返回同一行中securityinfo字段的值。 最佳答案 PHP对于如何在带引号的字符串中使用变量有一些限制。所以你不能像现在这样获取数组元素。此外,当您将变量插入像这样的SQL表达式时,您应该确保使用转义。$selectsecurityname=mysql_query("SELECT`securityname`FROMsecurityinfoWHEREsymbo

mysql - 给定日期 "03/13/2010",在 MYSQL Where 子句中使用它?

我想在以下日期通过Coldfusion传递MYSQL查询:03/13/2010所以查询会像这样过滤它:SELECT*FROMmyTableWHEREdateAddedbeforeoron03/13/2010我还希望能够将2个日期作为范围,从:01/11/2000到:03/13/2010SELECT*FROMTmyTableWHEREdateAddedisONorBetween01/11/2000through03/13/2010另外,有没有一种方法可以让一个查询同时处理Date_Start和Date_END,或者只处理两者之一?谢谢 最佳答案

Mysql Select record where PRIMARY key = x

我的mysql表中有一个主键,它由三列组成。CREATETABLEIFNOTEXISTS`bb_bulletin`(`OfficeCode`int(5)NOTNULL,`IssuerId`int(11)NOTNULL,`BulletinDtm`datetimeNOTNULL,`CategoryCode`varchar(4)NOTNULL,`Title`varchar(255)NOTNULL,`Content`textNOTNULL,PRIMARYKEY(`OfficeCode`,`IssuerId`,`BulletinDtm`),UNIQUEKEY`U_IssuerId`(`Issue